package dataStructure.linearList;

import dataStructure.collection.Collection;

/**
 * @author guihuo (E-mail:1620657419@qq.com)
 * @version v1.0 创建时间：2017/10/28 1:35
 *          线性表 LinearList
 *          线性表是由n （n>=0）个数据元素a1，a2，...，an组成的有限序列。
 *          线性表应该是最常见的数据结构。
 */
public interface LinearList<T> extends Collection {

    /**
     * 查找节点
     *
     * @param t 值
     * @return 索引
     */
    int findIndex(T t);

    /**
     * 查找节点
     *
     * @param index 节点索引
     * @return 节点
     */
    T get(int index);

    /**
     * 插入节点在最后
     *
     * @param t 值
     */
    void insert(T t);

    /**
     * 插入节点
     *
     * @param t     值
     * @param index 索引
     */
    void insert(T t, int index);

    /**
     * 删除节点
     *
     * @param index 节点位置
     */
    void delete(int index);

}
